home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Insets;
- import java.beans.PropertyChangeListener;
- import java.lang.reflect.Method;
- import java.util.Hashtable;
- import javax.swing.border.Border;
- import javax.swing.event.SwingPropertyChangeSupport;
- import javax.swing.plaf.ComponentUI;
-
- public class UIDefaults extends Hashtable {
- private static final Object PENDING = new String("Pending");
- private SwingPropertyChangeSupport changeSupport;
- // $FF: synthetic field
- static Class class$javax$swing$JComponent;
-
- public UIDefaults() {
- }
-
- public UIDefaults(Object[] var1) {
- super(var1.length / 2);
-
- for(int var2 = 0; var2 < var1.length; var2 += 2) {
- super.put(var1[var2], var1[var2 + 1]);
- }
-
- }
-
- public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
- if (this.changeSupport == null) {
- this.changeSupport = new SwingPropertyChangeSupport(this);
- }
-
- this.changeSupport.addPropertyChangeListener(var1);
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- protected void firePropertyChange(String var1, Object var2, Object var3) {
- if (this.changeSupport != null) {
- this.changeSupport.firePropertyChange(var1, var2, var3);
- }
-
- }
-
- public Object get(Object var1) {
- Object var2 = super.get(var1);
- if (var2 != PENDING && !(var2 instanceof ActiveValue) && !(var2 instanceof LazyValue)) {
- return var2;
- } else {
- synchronized(this){}
-
- try {
- var2 = super.get(var1);
- if (var2 == PENDING) {
- do {
- try {
- this.wait();
- } catch (InterruptedException var26) {
- }
-
- var2 = super.get(var1);
- } while(var2 == PENDING);
-
- Object var31 = var2;
- return var31;
- }
-
- if (var2 instanceof LazyValue) {
- super.put(var1, PENDING);
- } else if (!(var2 instanceof ActiveValue)) {
- Object var3 = var2;
- return var3;
- }
- } catch (Throwable var28) {
- throw var28;
- }
-
- if (var2 instanceof LazyValue) {
- try {
- var2 = ((LazyValue)var2).createValue(this);
- } finally {
- synchronized(this){}
-
- try {
- if (var2 == null) {
- super.remove(var1);
- } else {
- super.put(var1, var2);
- }
-
- this.notify();
- } catch (Throwable var25) {
- throw var25;
- }
-
- }
- } else {
- var2 = ((ActiveValue)var2).createValue(this);
- }
-
- return var2;
- }
- }
-
- public Border getBorder(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Border ? (Border)var2 : null;
- }
-
- public Color getColor(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Color ? (Color)var2 : null;
- }
-
- public Dimension getDimension(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Dimension ? (Dimension)var2 : null;
- }
-
- public Font getFont(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Font ? (Font)var2 : null;
- }
-
- public Icon getIcon(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Icon ? (Icon)var2 : null;
- }
-
- public Insets getInsets(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Insets ? (Insets)var2 : null;
- }
-
- public int getInt(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof Integer ? (Integer)var2 : 0;
- }
-
- public String getString(Object var1) {
- Object var2 = this.get(var1);
- return var2 instanceof String ? (String)var2 : null;
- }
-
- public ComponentUI getUI(JComponent var1) {
- Object var2 = this.get("ClassLoader");
- ClassLoader var3 = var2 != null ? (ClassLoader)var2 : var1.getClass().getClassLoader();
- Class var4 = this.getUIClass(var1.getUIClassID(), var3);
- Object var5 = null;
- if (var4 == null) {
- this.getUIError("no ComponentUI class for: " + var1);
- } else {
- try {
- Method var6 = (Method)this.get(var4);
- if (var6 == null) {
- Class var7 = class$javax$swing$JComponent != null ? class$javax$swing$JComponent : (class$javax$swing$JComponent = class$("javax.swing.JComponent"));
- var6 = var4.getMethod("createUI", var7);
- this.put(var4, var6);
- }
-
- var5 = var6.invoke((Object)null, var1);
- } catch (NoSuchMethodException var8) {
- this.getUIError("static createUI() method not found in " + var4);
- } catch (Exception var9) {
- this.getUIError("createUI() failed for " + var1 + " " + var9);
- }
- }
-
- return (ComponentUI)var5;
- }
-
- public Class getUIClass(String var1) {
- return this.getUIClass(var1, (ClassLoader)null);
- }
-
- public Class getUIClass(String var1, ClassLoader var2) {
- try {
- String var3 = (String)this.get(var1);
- Class var4 = (Class)this.get(var3);
- if (var4 == null) {
- if (var2 == null) {
- var4 = SwingUtilities.loadSystemClass(var3);
- } else {
- var4 = var2.loadClass(var3);
- }
-
- if (var4 != null) {
- this.put(var3, var4);
- }
- }
-
- return var4;
- } catch (ClassNotFoundException var5) {
- return null;
- } catch (ClassCastException var6) {
- return null;
- }
- }
-
- protected void getUIError(String var1) {
- System.err.println("UIDefaults.getUI() failed: " + var1);
-
- try {
- throw new Error();
- } catch (Throwable var3) {
- var3.printStackTrace();
- }
- }
-
- public Object put(Object var1, Object var2) {
- Object var3 = var2 == null ? super.remove(var1) : super.put(var1, var2);
- if (var1 instanceof String) {
- this.firePropertyChange((String)var1, var3, var2);
- }
-
- return var3;
- }
-
- public void putDefaults(Object[] var1) {
- for(int var2 = 0; var2 < var1.length; var2 += 2) {
- Object var3 = var1[var2 + 1];
- if (var3 == null) {
- super.remove(var1[var2]);
- } else {
- super.put(var1[var2], var3);
- }
- }
-
- this.firePropertyChange("UIDefaults", (Object)null, (Object)null);
- }
-
- public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
- if (this.changeSupport != null) {
- this.changeSupport.removePropertyChangeListener(var1);
- }
-
- }
- }
-